package com.party.orders.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.party.domain.CurrentAccount;
import com.party.dto.CurrentAccountDTO;
import com.party.dto.Response;
import com.party.orders.service.CurrentAccountService;

/**
 * 
 * @author Caizhf
 * @date 2017年7月28日下午5:26:32
 * @version v.0.1
 * @email 1115054416@qq.com 
 *
 * <p>Description: 流水账控制器</p>
 *
 */
@RestController
@RequestMapping("/bill")
public class CurrentAccountController {
	@Autowired
	private CurrentAccountService service;
	
	/**
	 * 127.0.0.1:8090/get/*
	 * 查单个详细，可以根据商家单号查，也可以根据id查,二者必须传其中一个,不能同时为空
	 * @param caid		主键
	 * @param allOrderNum 单号
	 * @return
	 */
	@RequestMapping("/get")
	public Response get(Integer caid, String allOrderNum){
		return Response.success(service.findById(caid,allOrderNum));
	}
	
	/**
	 * 127.0.0.1:8090/list/*?pageSize=*
	 * 分页查询
	 * @param pageNum
	 * @param pageSizes
	 * @param userId 这个参数可以为空，如果为空就是查所有的
	 * @param status 还可以根据状态查
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 * @return
	 */
	@RequestMapping("/list/{pageNum}")
	public Response list(CurrentAccountDTO dto,
			@PathVariable int pageNum, @RequestParam("pageSize")int pageSize){
		return Response.success(service.list(dto.getUserId(),dto.getStatus(),
				pageNum,pageSize,dto.getStartTime(),dto.getEndTime()));
	}
	
	/**
	 * 127.0.0.1:8090/delete/*
	 * 删除
	 * @param caid
	 * @return
	 */
	@RequestMapping("/delete/{caid}")
	public Response delete(@PathVariable int caid){
		service.delete(caid);
		return Response.success();
	}
	
	/**
	 * 本接口非人为插入
	 * 保留接口，预备需要时用
	 * @return
	 *//*
	public Response update(CurrentAccount ca){
		return Response.success();
	}
	
	*//**
	 * 本接口非人为插入
	 * 保留接口，预备需要时用
	 * @param ca
	 * @return
	 *//*
	public Response save(CurrentAccount ca){
		return Response.success();
	}*/
	
}
